#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include "filemanager.h"

class Scene;

QT_BEGIN_NAMESPACE
class QAction;
class QToolBox;
class QSpinBox;
class QComboBox;
class QFontComboBox;
class QButtonGroup;
class QLineEdit;
class QGraphicsTextItem;
class QFont;
class QToolButton;
class QAbstractButton;
class QGraphicsView;
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
   MainWindow();

private slots:
    void itemSelected(Element*);
    void showCircleMoveSettings(bool);
    void showPathMoveSettings(bool);
    void circleRadiusChanged(int);
    void moveTypeSelected(int);
    void circleMoveInserted(Element*);
    void nodeToggled(bool);

private:
    void createActions();
    void createToolBar();
    void createCircleMoveSettings();
    void createPathMoveSettings();

    void changeCircleMoveRadius(Element*, int);

    Scene *scene;
    FileManager *fileManager;
    QGraphicsView *view;

    QButtonGroup *buttonGroup;

    QAction *saveAction;
    QAction *loadAction;
    QAction *deleteAction;
    QAction *squareAction;
    QAction *circleAction;

    QDialog *pathMoveSettings;
    QDialog *circleMoveSettings;
    QSpinBox *spinner;
};

#endif // MAINWINDOW_H
